ShowTable of Contents
treeNodeの解説
XPages Extension Libraryでは、リンクやボタンを設定する場合などに、treeNodeを使用します。当記事ではこのtreeNodeについて解説します。
たとえば、以下のコントロールのプロパティでtreeNodeが使用されています。
・Application Layoutコントロール
・Bread Crumbsコントロール
・pop-upコントロール
・toolbarsコントロール
・list of linksコントロール
・Outlineコントロール
treeNodeの一覧
以下にツリーノードの一覧を示します。
「すべてのプロパティ」で表示される名称 | プロパティで表示される名称 |
basicLeafNode | BasicNode |
basicContainerNode | ContainerNode |
separatorTreeNode | SeparatorNode |
loginTreeNode | Login or Logout Node |
userTreeNode | User Node |
pageTreeNode | Page Link Node |
repeatTreeNode | Repeat Node |
beanTreeNode | Managed Bean Node |
dominoViewListTreeNode | View or Folder List |
dominoViewEntriesTreeNode | View or Folder Entries |
basicLeafNode
標準のノード。
separatorTreeNodeを除き、他のTreeNodeはこのbasicLeafNodeと同じプロパティを持つ。
プロパティ | 説明 |
enabled | Nodeが有効かどうかを指定する。Nodeがリンクの場合、テキストのみ表示される。Nodeがボタンの場合、無効なボタン(グレーで表示されクリックできない)が表示される。デフォルトは有効。(未確認) |
href | リンクするURL。絶対または相対URL。※1※2 |
image | Nodeに表示する画像。labelプロパティと同時に指定した場合、labelの左側に表示される。※3 |
imageAlt | 画像の代替テキスト |
imageHeight | 画像の高さ |
imageWidth | 画像の幅 |
label | Nodeに表示するテキスト |
loaded | Nodeをロードするかどうかを指定 |
onClick | Nodeをクリックしたときのイベント。クライアントサイドのJavaScriptとして記述。hrefプロパティがブランクのときのみ有効。 |
rendered | HTMLにNodeをレンダリングするかどうかを指定。 |
role | Nodeのrole属性を指定 |
selected | Nodeが選択されているかどうかのプロパティ。有効の場合、表示イメージが変更される。(未確認) |
submitValue | サーバーに送信される値。送信された値は、サーバーサイドJavaScriptで、context.getSubmittedValue()メソッドを呼び出すことで取得可能。 |
title | Nodeのtitle属性を指定 |
※1 絶対URLを記述する場合、"http://"~から記述。
※2 プロパティにはtarget属性がない。リンクを別ウィンドウで開く場合、onClickイベントで下記のように記述する。
※3labelの下に画像を表示したい場合、styleプロパティの背景で指定
basicContainerNode
他のリンクの"コンテナ(入れ物)"となるNode。
以下は"List of Links"コントロールでbasicContainerNodeにbasicLeafNodeを子Nodeとして追加した場合の表示イメージ。
以下にbasicContainerNodeのプロパティを示す。下記以外のプロパティは"basicLeafNode"と同一。
プロパティ | 説明 |
children | 子Nodeを設定。 |
expanded | 初期状態で展開するかどうかを指定。 |
transparent | trueにすると、コンテナは表示されず、子Nodeだけが表示される。デフォルトはfalse。複数の子ノードの表示をいっせいに切り替えたいとき、子ノードの loaded プロパティ(またはrenderedプロパティ)をそれぞれ設定するのではなく、当プロパティを有効にし、当Nodeのloaded プロパティまたはrenderedプロパティで切り替える。 |
separatorTreeNode
ノードのツリーに"区切り"を表示するノード。
以下は"List of Links"コントロールで、basicContainerNodeの子Node(basicLeafNode)の2つ目と3つ目の間にseparatorTreeNodeを挿入した場合の表示イメージ。
プロパティ | 説明 |
loaded | Nodeをロードするかどうかを指定 |
rendered | HTMLにNodeをレンダリングするかどうかを指定。 |
loginTreeNode
デフォルトでログイン/ログアウトを表示するノード。プロパティはbasicLeafNodeと同一。
ユーザ認証されていない場合、以下のリンクが表示する。
ラベルは"Login"、リンク先は"(データベースパス)?openDatabase&login"。

ユーザ認証済みで、サーバーでセッション認証が設定されている場合、以下のリンクが表示される。
ラベルは"Loguout"、リンク先は"(データベースパス)?logut"。
※サーバーでベーシック認証(セッション認証に"なし"を設定)が設定されている場合、何も表示されない。

labelプロパティを設定すると、上書きされる。ラベルを日本語で表示する場合のサンプルコードは下記。
if(context.getUser().isAnonymous()){
return "ログイン";
}
else
{
return "ログアウト";
}
ログアウト後に任意のリダイレクト先を指定したい場合などは、Redirecttoパラメータを指定する必要がある。
その場合には、ログアウト、ログインのロジックを自作する。以下参考。
XPages Tutorial Part 7: バナーのログイン/ログアウトボタン
http://notesdominoliaison.blogspot.jp/2009/12/xpages-tutorial-part-7.html
認証を要求する URL コマンド
http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/topic/com.ibm.designer.domino.main.doc/H_ABOUT_URL_COMMANDS_FOR_REQUIRING_AUTHENTICATION.html
userTreeNode
ユーザー名を表示するノード。通常、loginTreeNodeと同時に使用する。
デフォルトでは共通名を表示する。認証されていない場合、"Anonymous"と表示される。
プロパティ | 説明 |
userField | ユーザ名の表示形式を指定する。省略形の場合は"abbreviatedName"、階層名の場合は"canonicalName"を指定する。 |
pageTreeNode
repeatTreeNode
beanTreeNode
dominoViewListNode
dominoViewEntriesTreeNode